# -*- coding: utf-8 -*-
'''第五章，条件，循环和其他语句'''

import math  #使用math.floor()
from math import floor	#直接使用floor
from math import floor,ceil	#直接导入多个
from math import *   #导入全部功能

import math as test  #使用别名
from math import floor as test2 #使用别名

print test.ceil(21.6)
print test2(21.2)

x,y,z=1,2,3
print 'x=',1,'y=',y,'z=',z

a=b=3
print a,b

age=input('please input your age:')
#或者
#age=int(raw_input('please input your age:'))
if age<10:
	print "child"
elif age>=10 and age<=20:  #或者 10<=age<=20
	print 'teenager'
else:
	print 'old'
	
if 'a' in 'abcf':
	print 'yes'

#not取反，相當於java中!
if not 'a' in 'dsfsd':
	print 'good'

#要求输入，否者一直提示输入
name=''
while not name or name.isspace():    #isspace()用来判断是否是空格
	name=raw_input('please enter your name:')
print name

#上面while可以修改为 while not name.strip()

#xrange和range的区别：range会一次创建整个序列，xrange一次创建一个数
sum=0
for i in xrange(101):
	sum+=i
print sum

'''一些迭代工具'''

#zip,可以处理不同长度的，会按照最短的来，最短的用完就会停止
names=['zhangsan','lisi','wangwu','zhaoliu']
age=[1,2,3,4,5,6,7,8]
print zip(names,age)

for name,age in zip(names,age):
	print name,age
	
#迭代的时候同时获取下标和值,enumerate
letters=['a','b','c','d']
for index,value in enumerate(letters):
	print 'letters['+str(index)+']='+value
	
'''列表推倒式'''
print [x*x for x in xrange(10)]
print [(m,n) for m in ['a','b','c'] for n in [1,2,3]]

# del 删除对象
x='str'
del x